package com.chagee.store.operation.api.response;

import com.chagee.store.operation.api.bo.SettlementExtJsonBO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author : hk
 * @Date : 2024/10/14
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SettlementResponse implements Serializable {

	private Long id;
	/**
	 * 单据编号
	 */
	private String settlementNo;

	/**
	 * 门店编号
	 */
	private String storeNo;

	/**
	 * 门店名称
	 */
	private String storeName;

	//门店动线数
	private Integer storeLineNum;

	//门店面积
	private String storeArea;

	/**
	 * 门店类型
	 * BZV2: 2.0标准店, CGV3: 3.0常规店, QJV3: 3.0旗舰店, GNV3:3.0概念店,  CSZTV3: 3.0城市主题店, ZTYFV3: 3.0主题研发店
	 * @see com.chagee.storeManagement.api.event.enums.StoreTypeEnum
	 */
	private String storeType;

	/**
	 * 单据类型
	 * @see com.chagee.store.operation.api.enums.SettlementTypeEnum
	 */
	private String settlementType;

	/**
	 * 结算周期
	 */
	private String settlementCycle;

	/**
	 * 单据状态
	 * @see com.chagee.store.operation.api.enums.SettlementStatusEnum
	 */
	private String documentStatus;

	/**
	 * 结算平均评分
	 */
	private BigDecimal settlementScore;

	/**
	 * 供应商
	 */
	private String supplier;

	/**
	 * 供应商编码
	 */
	private String supplierNo;

	/**
	 * 结算金额
	 */
	private BigDecimal settlementMoney;

	/**
	 * 交付金额
	 */
	private BigDecimal payMoney;

	/**
	 * 店铺性质
	 * 	ZY:直营, LY:联营", JM:加盟, HHR:HHR
	 */
	private String storeCategory;

	/**
	 * 所属子公司
	 */
	private String companyId;
	//所属子公司名称
	private String companyName;

	/**
	 * 加盟商
	 */
	private String businessName;

	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 额外的
	 */
	private String extra;

	private Date createTime;

	private Date updateTime;

	// 是否删除 0正常 1删除
	private Integer deleteFlag;

	/**
	 * 供应商进场日期
	 */
	private Date supplierEntryDate;

	/**
	 * 调整金额
	 */
	private BigDecimal adjustMoney;

	/**
	 * 调整金额信息
	 */
	private SettlementExtJsonBO extJsonBO;

	/**
	 * 发票地址
	 */
	private List<String> invoiceUrlList;

	/**
	 * 加盟店 是否包含 店长持股门店 标识
	 */
	private Boolean storeTagFlag;

	/**
	 * 是否需要发票(加盟店)
	 * @see com.chagee.store.operation.api.enums.NeedInvoiceEnum
	 */
	private String pushInvoiceFlag;


	/**
	 * 结算底价
	 */
	private BigDecimal floorPrice;

	/**
	 * 合格工单数量
	 */
	private String completedOrderSize;

	/**
	 * 未打烊扣罚
	 */
	private BigDecimal notClosed;

	/**
	 * 稽核扣罚
	 */
	private BigDecimal otherPenalizeSum;

	/**
	 * 关联付款单编号
	 */
	private String paymentNo;

	/**
	 * 支付类型
	 */
	private String payType;
}
